The data to be processed by the system may be numeric data, character data or indeed any other type of data. Further, the data can be organised either in a grid-like or tabular form, where each item of data can be identified by row and column, or alternatively in a free form layout. The tabular form is typically employed in software applications such as spreadsheets, tables, data viewers, and the like, whilst the free form layout is typical of text based applications such as word processors and editors.
Users of such applications require efficient techniques which will enable them to select a portion of the data and apply certain processing operations to the selected data. Preferably the techniques provided should be efficient, effective, and intuitive to the user.
Generally speaking the processing operations will fall into two distinct types. The first type will be referred to herein as `interpretation` operations, these operations not resulting in the generation of any additional items of data, but rather the results of such operations being displayed by visual adaptation of some or all of the selected data items. Such interpretation operations are typically aimed at facilitating user interpretation of the data displayed, rather than calculating additional data from the data values processed by the operation. In the context of numeric data, examples of such interpretation operations include operations which identify whether each data value is above or below average, operations which identify positive and negative trends in the set of selected data values, or operations which identify the magnitude of each data value with respect to the other data values selected for processing. These operations do not generate any new items of data, but rather the results of the operations are applied by visual adaptation of the data values, eg by reordering the values (for example so that the largest is at the top and the smallest is at the bottom), or by marking the data values in an appropriate manner. In the context of character data, such an interpretation operation might be a spell-check operation, whereby the operation is applied to a selected portion of text and the result of the operation is displayed by indicating which words are not recognised by the spell check operation.
The second type of processing operations will be referred to as `data generation` operations, which apply operations to the selected data items in order to generate some additional data. These may for example be statistical operations such as sum, arithmetic means, standard deviation, regression coefficients and the like, all of which calculate additional data based on the data selected. The new data items constituting the result of such `data generation` operations will generally be displayed at a preselected position on the display device.
In the context of numeric data, U.S. Pat. No 5,040,131 describes a technique whereby a user can manipulate data in a table, and then select a function which displays icons corresponding to potentially valid processes that could be performed on the data in the table. The user can mark a portion of the data in the table, and then select one of the icons. Upon selection of one of the icons, the system automatically performs the operation corresponding to the selected icon for the marked data. The user may then place the result of the operation on the display screen by dragging the selected icon to the desired location on the screen.
The above prior art technique permits the user to view a collection of valid operations side-by-side with the data the user is viewing and manipulating, which enables the user to ascertain the operations that are available to be performed on the data displayed. It is an object of the present invention to provide a system which facilitates more efficient formulation of an operation to be performed by the system.